package com.example.homework_4_permission.controller;


import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaCheckRole;
import cn.dev33.satoken.annotation.SaIgnore;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/users")
public class UserController {

    /**
     * 公开接口允许被任何人访问
     * @return String
     */
    @GetMapping("/tourist")
    @SaIgnore
    public String tourist() {
        return "公开页面, 均可访问";
    }

    /**
     * 访问该接口时若不是number或vip用户将会被拦截
     * @return String
     */
    @GetMapping("/number")
    @SaCheckPermission(orRole = {"number", "vip"})
    public String numberOrVip() {
        return "这里是会员和vip才可以访问的接口";
    }

    /**
     * 访问该接口时若不是vip用户将会被拦截
     * @return String
     */
    @GetMapping("/vip")
    @SaCheckRole("vip")
    public String vip() {
        return "这里是vip才可以访问的接口";
    }
}
